home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Demos / A.D. Software / OOFILE / PhoneControl OOFILE sample / Source / CMainWindow.h < prev    next >
Text File  |  1995-12-09  |  2KB  |  91 lines

  1. // CMainWindow.h -- window class
  2. // Created 01/01/95 12:01 PM by AppMaker
  3.  
  4. #pragma once
  5.  
  6. #include <LWindow.h>
  7. #include <LListener.h>
  8. #include "oofpp.hpp"
  9.  
  10. #include "LControlEnablingEditField.h"
  11.  
  12. class dbConnect;
  13. class    CdbPhoneControl;
  14. class    LStream;
  15.  
  16. class    LListBox;
  17. class    LStdButton;
  18. class    LEditField;
  19. class    LStrTableView;
  20.  
  21. class dbField;
  22.  
  23.  
  24. class CMainWindowFactory : public dbWindowFactory {
  25. public:
  26. CMainWindowFactory(LCommander* C, dbTable* T) : dbWindowFactory(C, T) {};
  27. virtual ~CMainWindowFactory() {};
  28. virtual LWindow* makeWindow(const bool loadData=true) const;
  29. };
  30.  
  31. //----------
  32. class    CMainWindow :    public LWindow, public LListener, public dbBrowseHelper {
  33. public:
  34.     static    CMainWindow*    CreateMainWindowStream    (LStream    *inStream);
  35.  
  36.                         CMainWindow();
  37.                         CMainWindow        (LStream    *inStream);
  38.     virtual                ~CMainWindow();
  39.  
  40.  
  41.         virtual void        DoFind();
  42.         virtual void        DoByLastName();
  43.         virtual void        DoByFirstName();
  44.         virtual void        DoByExtn();
  45.         virtual void        DoByPager();
  46.         virtual void        DoByDepartment();
  47.         virtual void        DoByTitle();
  48.         virtual void        DoShowAll();
  49.  
  50.     virtual void        ListenToMessage        (MessageT    inMessage,
  51.                                              void        *ioParam);
  52.                                              
  53.     virtual Boolean        HandleKeyPress(const EventRecord    &inKeyEvent);
  54.                                              
  55.  
  56.     virtual Boolean        ObeyCommand            (CommandT    inCommand,
  57.                                              void        *ioParam = nil);
  58.     virtual void        FindCommandStatus    (CommandT    inCommand,
  59.                                              Boolean    &outEnabled,
  60.                                              Boolean    &outUsesMark,
  61.                                              Char16        &outMark,
  62.                                              Str255        outName);
  63.     virtual Boolean        FocusDraw();
  64.  
  65. protected:
  66.     virtual void        FinishCreateSelf();
  67. void SetDatabase(CdbPhoneControl*); 
  68.  
  69. private:
  70.     void ChangeSortTo(LStdButton*, dbChar& sortField);
  71.     
  72. // Panes in this window:
  73.     LStrTableView        *mMainList;
  74.     LStdButton            *mFindButton;
  75.     LControlEnablingEditField            *mFindField;
  76.     LStdButton            *mLastNameButton;
  77.     LStdButton            *mFirstNameButton;
  78.     LStdButton            *mExtnButton;
  79.     LStdButton            *mPagerButton;
  80.     LStdButton            *mDepartmentButton;
  81.     LStdButton            *mTitleButton;
  82.     LStdButton            *mShowAllButton;
  83.  
  84. private:
  85. CdbPhoneControl* mPhoneControl;  // our copy to use in Do.. methods
  86.     LStdButton*            mCurrentSortButton;
  87.     dbChar*                mCurrentSortField;
  88.  
  89. friend LWindow* CMainWindowFactory::makeWindow(const bool) const;
  90. };
  91.